package cn.ml.gaoJi.duiLie.priorityQueue;

import java.util.*;

public class PriorityQueueDemo {
    public static void main(String[] args) {
        Map<String,List<String>> map = new HashMap<>();
        List<String> list1 = new ArrayList<>();
        list1.add("q");
        list1.add("r");
        list1.add("s");
        list1.add("t");
        List<String> list2 = new ArrayList<>();
        list2.add("w");
        list2.add("x");
        list2.add("y");
        list2.add("z");
        map.put("1",list1);
        map.put("2",list2);

        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");

        PriorityQueue<String> queue = new PriorityQueue<>();

        list.stream().forEach((s) -> {
            if (list.size() == 0){
               map.get(s).stream().forEach((elem) ->
                       queue.add( s + "." + elem + "|"));
            }else {
                int queueSize = queue.size();
                for (int count = 0 ; count >= queueSize ; count ++) {
                    String waitFixed = queue.poll();
                    map.get(s).stream().forEach((elem) -> {
                        queue.add(waitFixed + s + "." +elem + "|");
                    });
                }
            }
        });



    }
}
